using System;
using System.Reflection;

public sealed class Program {
   public static void Main() {
      String dataAssembly = "System.Data, version=2.0.0.0, " +
         "culture=neutral, PublicKeyToken=b77a5c561934e089";
      LoadAssemAndShowPublicTypes(dataAssembly);
   }

   private static void LoadAssemAndShowPublicTypes(String assemId) {

      // Explicitly load an assembly in to this AppDomain
      Assembly a = Assembly.Load(assemId);

      // Execute this loop once for each Type 
      // publicly-exported from the loaded assembly 
      foreach (Type t in a.GetExportedTypes()) {

         // Display the full name of the type
         Console.WriteLine(t.FullName);
      }
   }
}
